type 'a t = 'a list

let empty = []

let is_empty s = s=[]

let cardinal s = List.length s

let rec add x = function
	| h::t when h<x 	-> h::add x t
	| h::_ as s when h=x 	-> s
	| l 			-> x::l

